<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <!-- 输出到文件日志 -->
    <property name="file_pattern" value="[%-5level] %-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %c.%M[%F][%L]: %msg%n"/>
    <!-- 输出到控制台配置的彩色日志 -->
    <property name="console_pattern" value="%boldCyan([%-5level]) %boldRed(%-12(%d{yyyy-MM-dd HH:mm:ss.SSS})) %boldGreen([%thread]) %highlight(%c.%M[%F][%L]:) %msg%n"/>
    <!-- 字符编码定义 -->
    <property name="charset" value="UTF-8"/>

    <springProfile name="dev">
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${console_pattern}</pattern>
                <charset>${charset}</charset>
            </encoder>
        </appender>

        <root level="info">
            <appender-ref ref="console"/>
        </root>
    </springProfile>

    <springProfile name="prod">
        <!-- 接上面部分代码 -->
        <appender name="prod-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>D:\log.log</file>
            <!-- 日志记录器的滚动策略，按日期，按大小记录 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- 归档的日志文件的路径 info为前缀%d{yyyy-MM-dd}指定日期格式，%i指定索引 -->
                <fileNamePattern>D:/log_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <!-- 除按日志记录之外，还配置了日志文件不能超过10M，若超过10M，日志文件会以索引0开始，命名日志文件，例如info-log-2023-03-03.0.log -->
                <MaxFileSize>2MB</MaxFileSize>
                <!--日志文件保留天数-->
                <MaxHistory>10</MaxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>${file_pattern}</pattern>
                <charset>${charset}</charset>
            </encoder>
        </appender>


        <root level="info">
            <appender-ref ref="prod-file"/>
        </root>
    </springProfile>

</configuration>